1. Field of the Invention
The invention relates generally to the field of digital data processing systems and more particularly to systems for producing pixel image data for processing or display in response to input pixel data encoded according to CCITT standards.
2. Description of the Prior Art
Digital images are defined in terms of picture elements, or "pixels", with each pixel being the smallest unit of an image which the data processing system can process and display. Generally, to achieve a minimum resolution, an image has on the order of two hundred pixels per linear inch, thus requiring approximately forty thousand (that is, the square of two hundred) pixels per square inch of the image. If the linear image resolution is increased by fifty percent, to three hundred pixels per linear inch, which provides a much better image quality, the number of pixels per square inch is more than doubled to ninety thousand. Such large numbers of pixels even at the low (two hundred pixels per inch) resolution would require transmission of vast amounts of digital data if each pixel required even a bit of data. Over the years, the CCITT has developed several encoding schemes to reduce the amount of data required to be sent in connection with image transmission used, for example, in facsimile equipment. Each of the successive encoding schemes has been more complex than the previous, with the greater complexity permitting more image information to be transmitted in less time.
In CCITT encoding, an image is divided into a series of lines, with each line having a predetermined number of pixels. In particular, each inch of an image may have on the order of two hundred lines, and each inch in a line has on the order of two hundred pixels. Rather than sending the color of each pixel, information is sent, in the form of symbols, identifying the number of pixels in a line of a given color. In early, less-sophisticated encoding schemes, the image information was "one dimensional", that is, each CCITT information symbol indicated a number of pixels and a color, and the successive symbols define the colors of the pixels in a line. An end of line symbol identified the end of a line. In more recent encoding schemes, some image information may be "two-dimensional", that is, information concerning a series of contiguous pixels of a given color in a line, or a "pixel run", may reference white-to-black or black-to-white transitions in the previous line. This two-dimensional scheme complicates encoding and decoding, but it typically reduces the amount of information which need be sent, since in most images the color transitions in one line are close to transitions in the adjacent lines. Generally, information concerning an image is encoded in a combination of one- and two-dimensional encoding, that is, image information for a line in an image is encoded using one-dimensional encoding, and then the next few lines are encoded using two-dimensional encoding. To further reduce the amount of image information required to be sent, the information is Huffman-encoded.
While the CCITT descriptions of its encoding schemes substantially describe the encoding apparatus, the decoding and utilization equipment is largely left to the equipment designer. Current decoding apparatus is somewhat slow. Current decoding apparatus is sufficiently fast to decode CCITT-encoded image information which is transmitted, for example, at the slow rates that it can be transmitted over the telephone lines, which is the primary use for CCITT-encoded information. However, these decoding speeds are typically much to slow for many other uses, for example, in typical computer systems, in which data transmission can be several orders of magnitude higher, particularly when the image information is encoded in the CCITT's recently-developed two-dimensional encoding schemes.
Another problem arises, for example, when the decoded CCITT-encoded image information is to be used in controlling a video display in a digital data processing system. Typically, the video display receives video information a selected number of digital binary data bits, for example, sixteen bits, at a time, with each group of sixteen bits being termed a "word". Each data bit represents the color of a pixel in an image, and so each word represents the color of sixteen sequential pixels in a line. A group of sequential words provides the color information for pixels in a line, and a series of sequential groups provide the color information for all of the pixels in an image. However, the CCITT-encoded image information may be decoded into a color and a run length, that is, the number of sequential pixels in a line having the particular color. This complicates the generation of individual data words required to be generated for the display.